1. Field
The present invention generally relates to communications between remote computing devices and servers. More particularly, the invention relates to the creation and sending of billing events between a server and a remote client device.
2. Background
Advances in technology have resulted in smaller and more powerful personal computing devices. For example, there currently exist a variety of portable personal computing devices, including wireless computing devices, such as portable wireless telephones, personal digital assistants (PDAs) and paging devices that are each small, lightweight, and can be easily carried by users. More specifically, the portable wireless telephones, for example, further include cellular telephones that communicate voice and data packets over wireless networks. Further, many such cellular telephones are being manufactured with relatively large increases in computing capabilities, and as such, are becoming tantamount to small personal computers and hand-held PDAs. However, these smaller and more powerful personal computing devices are typically severely resource constrained. For example, the screen size, amount of available memory and file system space, amount of input and output capabilities and processing capability may each be limited by the small size of the device, and in particular, the small size of the user input unit, e.g., the keyboard. Because of such severe resource constraints, it is often typically desirable, for example, to maintain a limited size and quantity of software applications and other information residing on such remote personal computing devices (client devices).
Some of the personal computing devices utilize application programming interfaces (APIs), sometimes referred to as runtime environments and software platforms, that are installed onto their local computer platform and which are used, for example, to simplify operations of such devices, such as by providing generalized calls for device specific resources. Further, some such APIs are also known to provide software developers the ability to create software applications that are fully executable on such devices. In addition, some of such APIs are known to be operationally located between the computing device system software and the software applications such that the computing device computing functionality is made available to the software applications without requiring the software developer to have the specific computing device system source code. Further, some APIs are known to provide mechanisms for secure communications between such personal devices (i.e., clients) and remote devices (i.e., servers) using secure cryptographic information.
Examples of such APIs, some of which are discussed in more detail below, include versions of the Binary Runtime Environment for Wireless software (BREW®) developed by QUALCOMM, Inc., of San Diego, Calif,. BREW® can cooperate with a computing device's (e.g., a wireless cellular phone) operating system, and can, among other features, provide interfaces to hardware features particularly found on personal computing devices. BREW® can also provide these interfaces on such personal computing devices at a relatively low cost with respect to demands on device resources and with respect to the price paid by consumers for devices containing BREW®. Additional features of BREW® include its end-to-end software distribution platform that provides a variety of benefits for wireless service operators, software developers and computing device consumers. At least one such currently available end-to-end software distribution platform includes logic distributed over a server-client architecture, where the server performs, for example, billing, security and application distribution functionality, and the client performs, for example, application execution, security and user interface functionality.
The foregoing description of the related art is merely intended to provide an overview of some of the known uses of APIs and as an introduction to the BREW® platform, which can be used in embodiments of the invention. However, the invention is not to be construed as being limited to a specific implementation, operating platform or environment.